Quality assurance in software programs is increasingly critical, as industries have begun to rely more and more on computer systems to perform standard business operations. Software testing is often used and relied on to assess software quality and develop robust software. Tests may be performed at software build time to check code syntax, code style, error handling, and the like. Tests may also be performed at run time to check code performance, run-time error handling, and scalability.
Fault injection is a common method for run time software testing. Pseudo-random fault generation techniques may be used in software testing to improve coverage of a test by introducing fault events to test code paths that might otherwise rarely be followed.